﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using PGE.Models.Cadastros;

namespace PGE.Models.Controladores
{
    public class ControladorVisita : IDisposable
    {
        private CadastroVisita cadastroVisita;

        public ControladorVisita()
        {
            this.cadastroVisita = new CadastroVisita();
        }

        public void Criar(Visita visita)
        {
            // eu acho que as validações são feitas aqui (ex: login único, cpf único...)
            visita.Status = Visita.SOLICITADA;
            visita.DataHoraSolicitacao = DateTime.Now;
            cadastroVisita.Criar(visita);
        }

        public void Editar(Visita visita)
        {
            cadastroVisita.Editar(visita);
        }

        public void Remover(Visita visita)
        {
            cadastroVisita.Remover(visita);
        }

        public List<Visita> Visitas()
        {
            return cadastroVisita.AllVisitas();
        }

        public Visita GetVisita(int id)
        {
            return cadastroVisita.GetVisita(id);
        }

        public void ConfirmarVisita(Visita visita)
        {
            visita.Status = Visita.AGENDADA;
            cadastroVisita.Editar(visita);
        }

        public void Dispose()
        {
            cadastroVisita.Dispose();
        }
    }
}